草庐IT

python - Emacs python 模式

全部标签

python - XML 和 Python : Get the namespaces declared in root element

如何访问XML树根元素处的多个xmlns声明?例如:importxml.etree.cElementTreeasETdata="""...allotherchildelementshere..."""tree=ET.fromstring(data)#Idon'tknowwhattodohereafterwards我想得到一个类似于这个的字典,或者至少是某种格式,以便更容易地获取URI和匹配的标签{'one':"http://www.first.uri/here/",'two':"http://www.second.uri/here/"} 最佳答案

.net - 如何根据 xml 模式更正 xml 文件?

有很多文件被无意中更改,现在它们与相关架构不匹配。我想做的是找到错误并自动更正它们(如果可能)。我查看了.NET框架中可用的验证机制。问题是我不知道如何编辑错误的节点。验证事件处理程序为我提供了一个事件参数,该参数包含有关错误本身的一些信息,但没有关于节点的信息和一个发送者对象,该对象是XmlValidationReaderImpl类型的对象,我对此一无所知,我在任何地方都找不到关于这种类型的任何信息。有谁知道如何使用验证机制更正Xml文件,或者是否有任何其他方法可用? 最佳答案 我不确定是否使用验证机制,但如果错误的形式很简单,您

python - 如何将xml header 添加到dom对象

我正在使用Python的xml.dom.minidom,但我认为这个问题对任何DOM解析器都是有效的。我的原始文件开头有这样一行:这似乎不是dom的一部分,所以当我执行类似dom.toxml()的操作时,生成的字符串在开头没有一行。如何添加?示例输出:BANDSAWBLADES希望清楚。 最佳答案 Thisdoesn'tseemtobepartofthedomXML声明没有自己的节点,不,但是其中声明的属性在Document对象上可见:>>>doc=minidom.parseString('')>>>doc.encoding'utf

python - 使用元素树读取动态xml

环境:Windows、Python、wxpython和Elementtree作为xml解析器。我正在开发一个独立的系统,它可以读取xml并创建一棵树。我的应用程序读取xml并创建树,但是当xml下次更改时(当xml的深度增加时-我的意思是当添加两个子元素时)。应用程序无法读取(逻辑失败:()例如我写了一个逻辑,可以读取任何深度为5的xml。但是当它读取深度超过5的xml时,它会失败。请告诉我如何读取深度为动态的xml。 最佳答案 你应该使用递归调用,更像是:defrecurse_tree(node):tree={}forelemen

python - 如何使 xml.sax 对其 DTD 请求使用 HTTP 代理?

XMLparsersoftensendoutHTTPrequestsforfetchingDTDs是一个已知问题文档中引用。具体来说,Python'sonedoesthis.这会导致承载大量此类DTD的www.w3.org流量过大。反过来,这会使XML解析花费很长时间,并且在某些情况下会超时。这可能是一个严重的问题,因为它使一项看似仅与文本处理相关的任务依赖于不可靠的第三方。为了减轻这个问题(因为真正的解决方案非常困难),我想在本地安装一个缓存Web代理并要求xml.sax通过这个代理发送它的请求。我特别不希望代理设置泄漏到其他组件,因此系统范围的设置是不可能的。如何使xml.sax使

php - 如何在 PHP 中对 xml 文件进行 DTD 和模式验证?

我有一个名为data_out.xml的xml文件,我想使用SIMPLEXML和php对xml文件进行DTD和SCHEMA检查。非常感谢:)) 最佳答案 Simplexml做不到,但DomDocument可以。此外,xml应该有一些指向DTD文件的链接。Load('book.xml');if($dom->validate()){echo"Thisdocumentisvalid!\n";}?>你可以看看这个question更多引用 关于php-如何在PHP中对xml文件进行DTD和模式验证?

python - 使用自定义元素类在 Python 中解析 xml

我想使用Python的xml.etree.ElementTree模块解析xml文档。但是,我希望生成的树对象中的所有元素都具有我定义的一些类方法。这建议创建我自己的Python元素类的子类,但我无法告诉解析器在解析时使用我自己的元素子类,而不是内置类。例如,假设我希望树中的节点有一个名为custommethod()的新方法。为此,我创建了一个元素子类:classMyElement(xml.etree.ElementTree._Element):defcustommethod():...现在,当我使用解析一棵树时tree=xml.etree.ElementTree.parse(sourc

xml - 定义允许来自混合 namespace 的属性的模式

我正在努力尝试开发一个允许来自混合命名空间的属性的模式。这是xxx_schema2.xsd:这是导入xxx_schema2的xxx_schema1.xsd:这是我想根据xxx_schema1.xsd验证的XML文档:当Saxon-EE解析器尝试根据模式验证XML文档时,它生成的错误实际上是:Enginename:Saxon-EE9.3.0.5Severity:errorDescription:Attribute@xxx:schema2Attribute1isnotallowedonelement(itwouldbeallowedinnamespacehttp://www.mrbouff

xml - XML 模式中的限制

我需要限制一个整数,它可以取1到48之间的值,但也可以取63的单个值。这可以做到吗?我知道下面的内容会处理第一个限制,但是我怎样才能将63添加到列表中呢? 最佳答案 定义两种类型:一种允许1-48范围内的整数,一种只允许整数64;然后定义一个类型,它是这两者的联合。或者在XSD1.1中,只定义一个限制xs:integer的类型 关于xml-XML模式中的限制,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

xml - 模式 1.1 的 lxml

我正在尝试将lxml与xs:assert验证标记一起使用。我试过使用这个IBM页面中的示例:http://www.ibm.com/developerworks/library/x-xml11pt2/lxml似乎不支持XMLSchema1.1。有人可以验证这个吗?什么XML(用于Python)引擎支持Schema1.1? 最佳答案 目前支持XSD1.1的两个模式处理器是Xerces和Saxon-都是基于Java的。 关于xml-模式1.1的lxml,我们在StackOverflow上找到一